<?php
	/**
	 * Arquivo: entidades.inc
	 * @package Default
	 * @sub-package ENTIDADE
	 * @page-level 1
	 */
	/**
	 * Classe de cadastros de entidades
	 * @package Default
	 * @return void 
	 */
	class ENTIDADE extends BANCOS
		{
		/**
		 * Identificação do usuário
		 * @access private
		 * @var integer
		 */
		private $id_user;
		/**
		 * Nível de acesso do usuário
		 * @access private
		 * @var integer
		 */
		private $nivel;
		/**
		 * Níveis de acesso
		 * @access private
		 * @var integer[]
		 */
		private $niveis;
		/**
		 * Módulo acessado
		 * @access private
		 * @var integer
		 */
		private $modulo;
		/**
		 * Acesso a Classe \FORMATAR
		 * @access private
		 * @var mixed
		 */
		private $forma;
		/**
		 * Construtor da classe ENTIDADE
		 *
		 * @param integer $id_user identificação do usuário
		 * @param integer $nivel nível de acesso do usuário
		 * @param integer $modulo módulo acessado
		 *
		 * @return void
		 */
		public function __construct($id_user, $nivel, $modulo)
			{
			$this->id_user = substr($id_user,2,strlen($id_user));
			$this->nivel = substr($nivel,2,strlen($nivel));
			$this->niveis = array("Administrador","Escola","Cliente");
			$this->modulo = $modulo;
			$this->forma = new FORMATAR();
			parent::__construct();
			}
		/**
		 * Destrutor da classe ENTIDADE
		 * @return void
		 */
		public function __destruct()
			{
			}
		/**
		 * Menu interno do sistema
		 *
		 * @return void
		 */
		public function MenuInterno()
			{
			echo ("<ul>\n");
			echo ("  <li><a href=\"#\" onclick=\"javascript:pegar('entidades/conteudo.php?id=".$this->modulo."&subid=1',escrever,'conteudo_interno','msg');\">Listar</a></li>\n");
			if ((($this->modulo == 4)&&($this->nivel == 1))||($this->nivel == 0))
				{
				echo ("  <li><a href=\"#\" onclick=\"javascript:pegar('entidades/conteudo.php?id=".$this->modulo."&subid=2',escrever,'conteudo_interno','msg');\">Incluir</a></li>\n");
				}
			echo ("</ul>\n");
			}
		/**
		 * Listagem geral
		 *
		 * @return void
		 */
		public function listar()
			{
			switch($this->modulo)
				{
				case 3:
					{
					if ($this->nivel == 1)
						{
						$sql = "select id_ent, cnpj, razao, data_atualizacao from cadastro.entidade where id_ent=".$_SESSION['ligacao'];
						}
					else
						{
						$sql = "select id_ent, cnpj, razao, data_atualizacao from cadastro.entidade where tipo=1 order by razao";
						}
					break;
					}
				case 4:
					{
					if ($this->nivel == 2)
						{
						$sql = "select id_ent, cnpj, razao, data_atualizacao from cadastro.entidade where id_ent=".$_SESSION['ligacao'];
						}
					else 
						{
						$sql = "select id_ent, cnpj, razao, data_atualizacao from cadastro.entidade where tipo=2 order by razao";
						}
					break;
					}
				}
			$this->exec_query($sql);
			if ($this->retorno[0])
				{
				echo ("<table summary=\"contas de usuários\" border=\"1\" cellspacing=\"0\">\n");
				echo ("<tr>\n");
				echo ("<th>ID</th><th>CNPJ</th><th>Razão Social</th><th>Data Última Atualização</th>\n");
				echo ("</tr>\n");
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					echo ("<tr>\n");
					echo ("<td>".$dados[0]."</td>\n");
					echo ("<td>".$this->forma->cnpj($dados[1],1)."</td>\n");
					echo ("<td>".$dados[2]."</td>\n");
					echo ("<td>".$this->forma->data_conv($dados[3])."</td>\n");
					echo ("<td><a href=\"#\" onclick=\"javascript:pegar('entidades/conteudo.php?id=".$this->modulo."&subid=3&id_cad=".$dados[0]."',escrever,'conteudo_interno','msg');\">Alterar</a></td>\n");
					echo ("<td><a href=\"#\" onclick=\"\">Deletar</a></td>\n");
					if ($this->modulo == 4)
						{
						echo ("<td><a href=\"#\" onclick=\"javascript:pegar('entidades/funcionario.php?id_ent=".$dados[0]."',escrever,'ent_aux','msg');\">List. Func.</a></td>\n");
						}
					if (($this->nivel <= 1)&& ($this->modulo == 4))
						{
						echo ("<td><a href=\"#\" onclick=\"javascript:pegar('treinprog/conteudo.php?id_ent=".$dados[0]."',escrever,'conteudo_interno','msg')\">Prog</a></td>\n");
						}
					echo ("</tr>\n");
					}
				echo ("</table>\n");
				echo ("<div id=\"ent_aux\"></div>\n");
				}
			else
				{
				echo ($this->msg_sistema);
				}
			}
		/**
		 * Formulário de Cadastro
		 *
		 * @return void
		 */
		 public function novo()
			{
			if ($this->nivel <= 1)
				{
				echo('
					<div id="container">
						<div id="leftSide">
							<fieldset>');
				if ($this->modulo == 3)
					{
					echo('		<legenda>Cadastro de Escolas</legenda>');
					}
				else 
					{
					echo('		<legenda>Cadastro de Empresas</legenda>');
					}
				echo('		<form action="entidades/processar.php" method="POST" id="frm_ent">
								<input type="hidden" name="id" id="id" value="'.$this->modulo.'"/>
								<input type="hidden" name="op" id="op" value="1" />
												
								<label for="razao">Razão Social</label>
								<input type="text" name="razao" value ="" id="razao" class="texto" /><br />
								
								<label for="denominacao">Nome Fantasia</label>
								<input type="text" name="denominacao" value ="" id="denominacao" class="texto" /><br />
								
								<label for="CNPJ">CNPJ:</label>
								<input type="text" style="width:125px" name="CNPJ" value="" id="CNPJ" maxlength="18" class="texto" onkeypress="javascript:mascara(this,cnpj_masc);" /><br />
											
								<label for="cep_cons">CEP:</label>
								<input type="hidden" id="cep" name="cep"/>
								<input type="text" name="cep_cons" value="" id="cep_cons" class="texto" maxlength="9" onkeypress="javascript:mascara(this,cep_masc);" onblur="javascript:pegar(\'entidades/cep.php?cep=\'+document.getElementById(\'cep_cons\').value,escrever,\'cep_res\',\'msg\');" />
								<span id="cep_res"></span><br />
												
								<label for="rua">Endereço:</label>
								<input type="text" name="rua" id="rua" class="texto" />
												
								<label for="numero" class="interna">Nº:</label>
								<input type="text" style="width: 40px" name="numero" id="numero" class="texto"/>
								
								<label for="bairro" class="interna">Bairro:</label>
								<input type="text" style="width: 150px" name="bairro" id="bairro" class="texto" /><br />
								
								<label for="uf" >Estado:</label>
								<span id="uf_aux"><input type="text" style="width: 40px" name="uf" id="uf" class="texto" /></span>
								
								<label for="cidade" class="interna" >Cidade:</label>
								<input type="hidden" id="cod_cid" name="cod_cid"/>
								<span id="cidade_aux"><input type="text" style="width: 120px" name="cidade" id="cidade" class="texto" /></span><br/>
								
								<label for="cnae" >CNAE:</label>
								<input type="text" name="cnae" id="cnae" class="texto" maxlength="10" onkeypress="javascript:mascara(this,cnae_masc);" onblur="javascript:pegar(\'entidades/cnae.php?cnae=\'+document.getElementById(\'cnae\').value,escrever,\'desc_cnae\',\'msg\');" style="width:100px;"/>
								<span id="desc_cnae" style="color: red;">');
						$sql_cnae = "select * from cadastro.cnae order by descricao";
						$this->exec_query($sql_cnae);
						echo ("<select name=\"cnae_desc\" id=\"cnae_desc\" onchange=\"javascript:pegar('entidades/cnae.php?cnae='+document.getElementById('cnae_desc').value,escrever,'desc_cnae','msg');\" style=\"width:250px;\">\n");
						echo ("<option>---</option>\n");
						for ($i=0; $i < $this->num_registros; $i++)
							{
							$dados = $this->retorno[1][$i];
							echo ("<option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
							}
						echo ("</select>\n");
						echo ('</span> <br />
								
								<label for="fundacao" >Data de Fundação:</label>
								<input type="text" style="width:80px" name="fundacao" value="" id="fundacao" class="texto" maxlength="10" onkeypress="javascript:mascara(this,data_masc);"/><br />
								
								<label for="contato" >Contato:</label>
								<input type="text" name="contato" value="" id="contato" class="texto"  maxlength="200"/>
									
								<label for="email" class="interna" >E-mail:</label>
								<input type="text" name="email" value="" id="email" class="texto" maxlength="300" /><br /> ');
								
								if ($this->modulo == 4)
									{
					echo('	<label for="tst" >Téc. Seg. Trabalho:</label>
							   <input type="text" name="tst" value="" id="tst" class="texto" /><br />
							   <label for="qtd_func" >Nº Funcionários:</label>
							   <input type="text" name="qtd_func" style="width: 40px" value="0" id="qtd_func" class="texto" /></br/>');
									}	
				   echo('   <label for="obs">Observação:</label>
								<textarea name="obs"></textarea><br />
								<hr size="1">
								<input type="button" value="Inserir" onclick="javascript:pegarForm_POST(\'conteudo_interno\',\'frm_ent\',\'msg\');" class="botao1">
								<input type="button" value="Cancelar" onclick="javascript:pegar(\'conteudo.php?id='.$this->modulo.'\',escrever,\'conteudo\',\'msg\');" class="botao2"></td>
								</form>
								<div class="clear"></div>
							</fieldset>
						</div>
					</div>');
				}
			}
		/**
		 * Insere uma nova entidade no sistema.
		 *	@param mixed[] $dados
		 * @return booleano
		 */
		public function inserir($dados) 
			{
			switch($this->modulo) 
				{
				case 3:
					{
					$sql = "insert into cadastro.entidade (cnpj,razao,denominacao,rua,numero,bairro,cep,cidade,cnae,data_fundacao,contato,e_mail,data_atualizacao,observacao,tipo) values(";
					$sql .= "'".$this->forma->cnpj($dados['CNPJ'])."','".$dados['razao']."','".$dados['denominacao']."','".$dados['rua']."','".$dados['numero']."','".$dados['bairro']."',".$dados['cep'].",".$dados['cod_cid'].",'".$dados['cnae']."','";
					$sql .= $this->forma->data_conv($dados['fundacao'],2)."','".$dados['contato']."','".$dados['email']."','".date("Y-m-d")."','".$dados['obs']."',1);";
					break;
					}
				case 4:
					{
					$sql = "insert into cadastro.entidade (cnpj,razao,denominacao,rua,numero,bairro,cep,cidade,cnae,data_fundacao,contato,e_mail,data_atualizacao,observacao,tst,qtd_func,tipo) values(";
					$sql .= "'".$this->forma->cnpj($dados['CNPJ'])."','".$dados['razao']."','".$dados['denominacao']."','".$dados['rua']."','".$dados['numero']."','".$dados['bairro']."',".$dados['cep'].",".$dados['cod_cid'].",'".$dados['cnae']."','";
					$sql .= $this->forma->data_conv($dados['fundacao'],2)."','".$dados['contato']."','".$dados['email']."','".date("Y-m-d")."','".$dados['obs']."','".$dados['tst']."',".$dados['qtd_func'].",2);";
					break;
					}
				}
			$this->exec_query($sql);
			return $this->retorno[0];
			}	
		/**
		 * Retorna a mensagem de erro do banco de dados.
		 *
		 * @return void
		 */
		public function mensagem()
			{
			echo ("Erro na execução do SQL: ");
			echo ($this->msg_sistema);
			}
		/**
		 * Formulário de exibição de um registro selecionado.
		 * @param integer $id_cad
		 * @return void
		 */
		public function mostrar($id_cad)
			{
			$sql = "select entidade.*, ceps.cep, municipio.nome, municipio.estado, cnae.descricao from cadastro.entidade inner join cadastro.ceps on entidade.cep=ceps.id_cep inner join cadastro.municipio on entidade.cidade=municipio.cod_cid inner join cadastro.cnae on entidade.cnae=cnae.codigo where id_ent=".$id_cad;
			$this->exec_query($sql);
			if ($this->retorno[0])
				{
				$dados = $this->retorno[1][0];
				//print_r($dados);
				echo('
					<div id="container">
						<div id="leftSide">
							<fieldset>');
				if ($this->modulo == 3)
					{
					echo('		<legenda>Alterar dados da Escola</legenda>');
					}
				else 
					{
					echo('		<legenda>Alterar dados da Empresa</legenda>');
					}
				echo('		<form action="entidades/processar.php" method="POST" id="frm_ent">
								<input type="hidden" name="id" id="id" value="'.$this->modulo.'"/>
								<input type="hidden" name="op" id="op" value="2" />
								<input type="hidden" name="id_cad" id="id_cad" value="'.$id_cad.'" />
												
								<label for="razao">Razão Social</label>
								<input type="hidden" name="razao_ant" id="razao_ant" value="'.$dados[2].'" />
								<input type="text" name="razao" value ="'.$dados[2].'" id="razao" class="texto" /><br />
								
								<label for="denominacao">Nome Fantasia</label>
								<input type="hidden" name="denominacao_ant" id="denominacao_ant" value="'.$dados[3].'" />
								<input type="text" name="denominacao" value ="'.$dados[3].'" id="denominacao" class="texto" /><br />
								
								<label for="CNPJ">CNPJ:</label>
								<input type="hidden" name="cnpj_ant" id="cnpj_ant" value="'.$dados[1].'" />
								<input type="text" style="width:125px" name="CNPJ" value="'.$this->forma->cnpj($dados[1],1).'" id="CNPJ" maxlength="18" class="texto" onkeypress="javascript:mascara(this,cnpj_masc);" /><br />
											
								<label for="cep_cons">CEP:</label>
								<input type="hidden" name="cep_ant" id="cep_ant" value="'.$dados[7].'" />
								<input type="hidden" id="cep" name="cep" value="'.$dados[7].'"/>
								<input type="hidden" name="cepcons_ant" id="cepcons_ant" value="'.$dados[18].'" />
								<input type="text" name="cep_cons" value="'.$dados[18].'" id="cep_cons" class="texto" maxlength="9" onkeypress="javascript:mascara(this,cep_masc);" onblur="javascript:pegar(\'entidades/cep.php?cep=\'+document.getElementById(\'cep_cons\').value,escrever,\'cep_res\',\'msg\');" />
								<span id="cep_res"></span><br />
												
								<label for="rua">Endereço:</label>
								<input type="hidden" name="rua_ant" id="rua_ant" value="'.$dados[4].'" />
								<input type="text" name="rua" id="rua" value="'.$dados[4].'" class="texto" />
												
								<label for="numero" class="interna">Nº:</label>
								<input type="hidden" name="numero_ant" id="numero_ant" value="'.$dados[5].'" />
								<input type="text" style="width: 40px" name="numero" id="numero" value="'.$dados[5].'" class="texto"/>
								
								<label for="bairro" class="interna">Bairro:</label>
								<input type="hidden" name="bairro_ant" id="bairro_ant" value="'.$dados[6].'" />
								<input type="text" style="width: 150px" name="bairro" id="bairro" value="'.$dados[6].'" class="texto" /><br />
								
								<label for="cidade" >Cidade:</label>
								<input type="hidden" name="codcid_ant" id="codcid_ant" value="'.$dados[8].'" />
								<input type="hidden" id="cod_cid" name="cod_cid" value="'.$dados[8].'"/>
								<input type="hidden" name="cidade_ant" id="cidade_ant" value="'.$dados[19].'" />
								<input type="text" style="width: 120px" name="cidade" id="cidade" value="'.$dados[19].'" class="texto" />	
								
								<label for="uf" class="interna">Estado:</label>
								<input type="hidden" name="uf_ant" id="uf_ant" value="'.$dados[20].'" />
								<input type="text" style="width: 40px" name="uf" id="uf" value="'.$dados[20].'" class="texto" /><br />
								
								<label for="cnae" >CNAE:</label>
								<input type="hidden" name="cnae_ant" id="cnae_ant" value="'.$dados[9].'" />
								<input type="text" name="cnae" id="cnae" class="texto" value="'.$dados[9].'" maxlength="10" onkeypress="javascript:mascara(this,cnae_masc);" onblur="javascript:pegar(\'entidades/cnae.php?cnae=\'+document.getElementById(\'cnae\').value,escrever,\'desc_cnae\',\'msg\');" />
								<span id="desc_cnae" style="color: red;">'.$dados[21].'</span> <br />
								
								<label for="fundacao" >Data de Fundação:</label>
								<input type="hidden" name="fundacao_ant" id="fundacao_ant" value="'.$dados[10].'" />
								<input type="text" style="width:80px" name="fundacao" value="'.$this->forma->data_conv($dados[10]).'" id="fundacao" class="texto" maxlength="10" onkeypress="javascript:mascara(this,data_masc);"/><br />
								
								<label for="contato" >Contato:</label>
								<input type="hidden" name="contato_ant" id="contato_ant" value="'.$dados[11].'" />
								<input type="text" name="contato" value="'.$dados[11].'" id="contato" class="texto"  maxlength="200"/>
									
								<label for="email" class="interna" >E-mail:</label>
								<input type="hidden" name="email_ant" id="email_ant" value="'.$dados[12].'" />
								<input type="text" name="email" value="'.$dados[12].'" id="email" class="texto" maxlength="300" /><br /> ');
								
								if ($this->modulo == 4)
									{
					echo('	<label for="tst" >Téc. Seg. Trabalho:</label>
								<input type="hidden" name="tst_ant" id="tst_ant" value="'.$dados[15].'" />
							   <input type="text" name="tst" value="'.$dados[15].'" id="tst" class="texto" /><br />
							   <label for="qtd_func" >Nº Funcionários:</label>
							   <input type="text" name="qtd_func" style="width: 40px" value="'.$dados[17].'" id="qtd_func" class="texto" /></br/>');
									}	
				   echo('   <label for="obs">Observação:</label>
				   			<input type="hidden" name="obs_ant" id="obs_ant" value="'.$dados[14].'" />
								<textarea name="obs" id="obs">'.$dados[14].'</textarea><br />
								<hr size="1">
								<input type="button" id="alterar" name="alterar" value="Alterar Dados" onclick="altera();" class="botao2" />
								<input type="button" id="salvar" name="salvar" value="Salvar Dados" onclick="javascript:pegarForm_POST(\'conteudo_interno\',\'frm_ent\',\'msg\');" class="botao1">
								<input type="button" value="Cancelar" onclick="javascript:pegar(\'conteudo.php?id='.$this->modulo.'\',escrever,\'conteudo\',\'msg\');" class="botao2"></td>
								</form>
								<div class="clear"></div>
							</fieldset>
						</div>
					</div>');
				echo ("<script type=\"text/javascript\">\n");
				echo ("	<!--\n");
				echo ("		document.getElementById(\"razao\").disabled = true;\n");
				echo ("		document.getElementById(\"denominacao\").disabled = true;\n");
				echo ("		document.getElementById(\"CNPJ\").disabled = true;\n");
				echo ("		document.getElementById(\"cep_cons\").disabled = true;\n");
				echo ("		document.getElementById(\"rua\").disabled = true;\n");
				echo ("		document.getElementById(\"numero\").disabled = true;\n");
				echo ("		document.getElementById(\"bairro\").disabled = true;\n");
				echo ("		document.getElementById(\"cidade\").disabled = true;\n");
				echo ("		document.getElementById(\"uf\").disabled = true;\n");
				echo ("		document.getElementById(\"cnae\").disabled = true;\n");
				echo ("		document.getElementById(\"fundacao\").disabled = true;\n");
				echo ("		document.getElementById(\"contato\").disabled = true;\n");
				echo ("		document.getElementById(\"email\").disabled = true;\n");
				if ($this->modulo == 4)
					{
					echo ("		document.getElementById(\"tst\").disabled = true;\n");
					echo ("		document.getElementById(\"qtd_func\").disabled = true;\n");
					}
				echo ("		document.getElementById(\"obs\").disabled = true;\n");
				echo ("		document.getElementById(\"alterar\").disabled = false;\n");
				echo ("		document.getElementById(\"salvar\").disabled = true;\n");
				echo ("		function altera()\n");
				echo ("			{\n");
				echo ("			document.getElementById(\"razao\").disabled = false;\n");
				echo ("			document.getElementById(\"denominacao\").disabled = false;\n");
				echo ("			document.getElementById(\"CNPJ\").disabled = false;\n");
				echo ("			document.getElementById(\"cep_cons\").disabled = false;\n");
				echo ("			document.getElementById(\"rua\").disabled = false;\n");
				echo ("			document.getElementById(\"numero\").disabled = false;\n");
				echo ("			document.getElementById(\"bairro\").disabled = false;\n");
				echo ("			document.getElementById(\"cidade\").disabled = false;\n");
				echo ("			document.getElementById(\"uf\").disabled = false;\n");
				echo ("			document.getElementById(\"cnae\").disabled = false;\n");
				echo ("			document.getElementById(\"fundacao\").disabled = false;\n");
				echo ("			document.getElementById(\"contato\").disabled = false;\n");
				echo ("			document.getElementById(\"email\").disabled = false;\n");
				if ($this->modulo == 4)
					{
					echo ("			document.getElementById(\"tst\").disabled = false;\n");
					echo ("			document.getElementById(\"qtd_func\").disabled = false;\n");
					}
				echo ("			document.getElementById(\"obs\").disabled = false;\n");
				echo ("			document.getElementById(\"alterar\").disabled = true;\n");
				echo ("			document.getElementById(\"salvar\").disabled = false;\n");
				echo ("			}\n");
				echo ("	//-->\n");
				echo ("</script>\n");
				}
			}
		/**
		 * Salva alteração realizada no cadastro de uma entidade selecionada.
		 * @param mixed[] $dados
		 * @return booleano
		 */
		public function alterar($dados) 
			{
			$sql = "update cadastro.entidade set cnpj=";
			//$sql = "insert into cadastro.entidade (cnpj,razao,denominacao,rua,numero,bairro,cep,cidade,cnae,
			//data_fundacao,contato,e_mail,data_atualizacao,observacao,tipo) values(";
			$sql .= "'".$this->forma->cnpj($dados['CNPJ'])."',razao='".$dados['razao']."',denominacao='".$dados['denominacao'];
			$sql .= "',rua='".$dados['rua']."',numero='".$dados['numero']."',bairro='".$dados['bairro']."',cep=".$dados['cep'];
			$sql .= ",cidade=".$dados['cod_cid'].",cnae='".$dados['cnae']."',data_fundacao='".$this->forma->data_conv($dados['fundacao'],2);
			$sql .= "',contato='".$dados['contato']."',e_mail='".$dados['email']."',data_atualizacao='".date("Y-m-d")."',observacao='".$dados['obs']."'";
			if ($this->modulo == 4)
				{
				$sql .= ",tst='".$dados['tst']."',qtd_func=".$dados['qtd_func'];
				} 
			$sql .= " where id_ent=".$dados['id_cad'];
			$this->exec_query($sql);
			return $this->retorno[0];
			}	
		};
		
?>